# 使用 PostgreSQL 11.22 官方镜像（Debian Bookworm）
FROM postgres:11.22-bookworm

# 设置非交互式环境变量（避免安装时弹窗）
ENV DEBIAN_FRONTEND=noninteractive

# 1. 安装必要工具（wget 和 ca-certificates）
RUN apt-get update && \
    apt-get install -y --no-install-recommends \
        wget \
        git \
        gcc \
        make \
        postgresql-server-dev-11 \
        ca-certificates && \
    rm -rf /var/lib/apt/lists/*

# 2. 添加 PostgreSQL 官方仓库（显式导入密钥）
RUN mkdir -p /etc/apt/keyrings && \
    # 下载并解码密钥
    wget -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | gpg --dearmor -o /etc/apt/keyrings/postgresql.gpg && \
    chmod 644 /etc/apt/keyrings/postgresql.gpg && \
    # 添加仓库源（使用 HTTPS）
    echo "deb [signed-by=/etc/apt/keyrings/postgresql.gpg] https://apt.postgresql.org/pub/repos/apt/ bookworm-pgdg main" > /etc/apt/sources.list.d/pgdg.list

# 3. 更新包列表并安装扩展
RUN apt-get update && \
    apt-get install -y --no-install-recommends \
        postgresql-11-orafce \
        postgresql-11-pldebugger && \
        # postgresql-11-contrib && \
        # postgresql-11-pgpartman && \
    rm -rf /var/lib/apt/lists/*

# 4. 克隆并编译 pg_partman
RUN git clone -b v4.4.0 https://github.com/pgpartman/pg_partman.git /tmp/pg_partman && \
    cd /tmp/pg_partman && \
    make && \
    make install

# 5. 复制初始化脚本
COPY init.sql /docker-entrypoint-initdb.d/

# 重置环境变量
ENV DEBIAN_FRONTEND=
